package com.tarena.baking.mapper;

import com.tarena.baking.pojo.entity.Content;
import com.tarena.baking.pojo.vo.ContentEditVO;
import com.tarena.baking.pojo.vo.ContentIndexVO;
import com.tarena.baking.pojo.vo.ContentSimpleVO;
import com.tarena.baking.pojo.vo.ContentVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ContentMapper {

    void insert(Content content);

    void addViewCount(Long id);

    void addCommentCount(Long id);

    void update(Content content);

    void deleteById(int id);

    ContentVO getDetailById(Long id);

    ContentEditVO getForEditById(Long id);

    List<ContentSimpleVO> getUserOtherContent(Long id, Long userId);

    List<ContentSimpleVO> getHotContent();

    List<ContentIndexVO> getContentListByWd(String wd);

    List<ContentIndexVO> getContentListByType(Long type, Long categoryId);

    List<ContentIndexVO> getContentListForManagementByType(Long userId, Long type, Long categoryId);


    List<ContentIndexVO> getContentListForAdminByType(Long type, Long categoryId);
}